﻿using System;
using System.Text.RegularExpressions;

namespace Demo0528
{
    class Program
    {
        static void Main(string[] args)
        {
            Random ran = new Random();
            //Tase(ran);
            //Tase1(ran);
            //Tase2(ran);
            //Tase3();
            Tase4();
        }
        static void Tase(Random ran) 
        {
            // 1、生成0 - 5之间的随机小数，保留两位小数（必须是2位）。
            double b = ran.NextDouble() * 5;
            Console.WriteLine("这个随机生成0-5之间的小数是：{0}", b.ToString("f2"));
        }
        static void Tase1(Random ran) 
        { 
            //2、生成4-7之间的随机小数，保留两位小数。
            double d = 4 + ran.NextDouble() * (7 - 4);
            Console.WriteLine("这个随机生成4-7之间的小数是：{0}", d.ToString("f2"));
        }
        static void Tase2(Random ran) 
        {
            //3、生成一个随机整型数组，长度是10，内容是1~10，数组内容不重复。
            int[] arr = new int[10];
            for (int i = 0; i <arr.Length; i++)
            {
                int s = ran.Next(1,11);
                arr[i]= s;
                for (int j = 0; j < i; j++)
                {
                    if (arr[i] == arr[j]) 
                    {
                        i = i - 1;
                    }
                }

            }
            Console.Write("1~10随机数组：");
            foreach (int item in arr)
            {
                Console.Write(item+" ");
            }
            
        
        }
        static void Tase3() 
        {
            while (true)
            {
 //               4、用户输入邮箱，请验证其合法性。
	//1、邮箱一定需要 @符号
    //264258 7822@qq.com
    //(\w)+(\.)(\w)*@+(\w)() qq.com
 //   2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
	//	前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.
    //（符号点）不能 用在开头也不能用在结尾；
 //  后半部分可以数字、字母、下划线、中划线、.（符号点），
    //且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
	//	后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info
            Console.WriteLine("请输入您的邮箱：");
            string com = Console.ReadLine();
            if (Regex.IsMatch(com, @"^(\w)+(\.*)(\w)*@(\w)+(\.(com|org|net|edu|mil|tv|biz|info))$"))
            {
                Console.WriteLine("输入正确！");
            }
            else
            {
                Console.WriteLine("请输入正确的邮箱！");
            }

            }
        }
   //     5、用户输入手机号码，请验证其合法性。
   //      手机号码规则：
  	//最开头+86可有可无
  	//13开头第三位是 0-9
  	//14开头第三位是 5或7
  	//15开头第三位是 0-9不包含4
  	//17开头第三位是 678中的一个
  	//18开头第三位是 0-9
  	//剩下的8位，都是0-9的数字。
        static void Tase4() 
        {
            Console.WriteLine("请输入手机号：");
            string tel = Console.ReadLine();
            if (Regex.IsMatch(tel, @"^(\+86)?(13\d{1})|(14(5|7))|(15[0-3]{1}[5-9])|(17(6|7|8))|(18\d{1})(\d{8})$"))
            {
                Console.Write(tel);
                Console.WriteLine("输入正确！");
            }
            else
            {
                Console.Write(tel);
                Console.WriteLine("请输入正确的手机号！");
            }
        }
    }
}
